IBIS Macromodel Task Group

Meeting date: 27 April 2021

Members (asterisk for those attending):
Achronix Semiconductor      * Hansel Dsilva
ANSYS:                      * Curtis Clark
                            * Wei-hsing Huang
Cadence Design Systems:     * Ambrish Varma
                              Ken Willis
                              Jared James
Google:                       Zhiping Yang
Intel:                        Michael Mirmak
                              Kinger Cai
                              Alaeddin Aydiner
Keysight Technologies:      * Fangyi Rao
                              Radek Biernacki
                              Ming Yan
                              Todd Bermensolo
                            * Rui Yang
Luminous Computing            David Banas
Marvell                       Steve Parker
Micron Technology:          * Randy Wolff
                            * Justin Butterfield
Missouri S&T                  Chulsoon Hwang
Siemens EDA (Mentor):       * Arpad Muranyi
SiSoft (Mathworks):         * Walter Katz
                              Mike LaBonte
Teraspeed Labs:             * Bob Ross
Zuken USA:                    Lance Wang

The meeting was led by Arpad Muranyi.  Curtis Clark took the minutes.

--------------------------------------------------------------------------------
Opens:
  
- None.

-------------
Review of ARs:

- Walter to modify the new Redriver proposal as discussed during the meeting and
  submit it as BIRD211.1.
  - Done.  It was submitted to the Open Forum and introduced at the April 23rd
    Open Forum meeting.

--------------------------
Call for patent disclosure:

- None.

-------------------------
Review of Meeting Minutes:

Arpad asked for any comments or corrections to the minutes of the April 20th
meeting.  Randy moved to approve the minutes.  Walter seconded the motion.
There were no objections.

-------------
New Discussion:

BIRD211.1:
Arpad noted that the Open Forum had approved a motion to schedule a vote on this
BIRD at its next meeting on May 14th.  He said he hoped we could finish
discussion on any cleanup of the BIRD and get it submitted by Friday, April
30th, which is the deadline if we want to vote on it at the next Open Forum
meeting.

Walter shared a new BIRD211.2_draft1 he had prepared.  He had sent it to ATM
the day before, and it contains corrections for typos and errors found in
BIRD211.1.

Walter shared the BIRD draft and focused on the block diagram depicting the
three proposed flows.  Walter noted that Radek had said during the Open Forum
discussion that we might still have to review the need for flow B (the 
"Combined" flow).  Arpad and Curtis said Radek's comments had surprised them,
and they thought we had agreed to keep flow B at the last ATM meeting.  Fangyi
said he hadn't attended the Open Forum meeting and hadn't spoken with Radek
since.  So, he couldn't comment on Radek's statement.

Walter noted that the first flow, which is invoked if the parameter is set to
"IBIS7.0" is a corrected version of the IBIS 7.0 flow.  The output of Rx1 Init
is combined with the output of Tx2 Init, and the result is passed to Rx2's Init.

Fangyi asked about the third flow (the "Separate" flow).  He asked if the
"CH-2 IR" block should be shown after the Tx2 as well, meaning the EDA tool is
responsible for combining it with the output of Tx2.  Walter said no.  He said
earlier proposals had stated that the model would use the information in the new
column (containing "CH-2 IR") but not modify it and not include the information
in its output response in column 1.  However, now that the new Tx_Impulse_Input
Reserved Parameter explicitly specifies whether this new column is required,
Walter had intentionally defined the third flow as shown in the diagram.  He
said the Tx2 AMI_Init would combine the "CH2-IR" into its output in column one.

Fangyi said the section defining changes to section 10.2.3, which specifies what
the model does with the impulse matrix, did not explain that the Tx2 model is to
combine the two input impulse responses in the "Separate" case.  Walter proposed
adding new language to address this.  However, Fangyi then asked if we should
swap the two inputs to Tx2 in the third flow.  That is, put the "CH-2 IR" in the
first column and put the cumulative upstream response in the new column.  Fangyi
said this would make the flow more like the first flow, except that it contains
one new column.  Walter said he had created flow three with the intent of
mirroring the time domain GetWave flow, and the Tx2 would receive its upstream
information as the primary input.  He said he preferred it this way, but this
was more of a question of personal preference at this point.  He also said he
preferred to have the Tx2 Init combine both inputs into its final column 1
output, because the Tx2 model would have the best idea of what things looked
like at the input to Rx2.  Fangyi said that if you just let the EDA tool handle
the convolution instead of having the Tx2 model combine the inputs, then you
wouldn't need to add new language in the 10.2.3 section.

Walter said he would make both of Fangyi's suggested changes for the "Separate"
flow, i.e., swap the contents of the two input columns and have the Tx2 model
return its modified version of the column 1 input without combining in the new
column's information.  There were no objections.  Walter said the detailed
wording for the "Separate" case would have to be changed in the all the flow
descriptions, so review of any "Separate" flow language was deferred.

Fangyi noted a typo "emmediate" in the Usage Rules of the new parameter.  Bob
suggested that "immediate" has more of a time connotation, and asked for a
different adjective.  Fangyi said he had typically used "direct", and Bob
said he thought "direct downstream" was clearer than "immediate downstream".

Walter said he had rewritten the single-channel reference flows to combine the
statistical and time domain flows.  He said everything up to and including step
3 is done for both statistical and time domain.  Fangyi said that 3.b. was
double counting the effects of the channel because it said to convolve the
output of the Tx with the channel, but the channel was already the input to the
Tx.  Walter agreed and noted that section 3 would have to be rewritten.

Fangyi noted that in step 4, paragraph 2, the section describing the use of a
"unit impulse response", item 2b obligates all models to ignore any crosstalk
columns that contain a "unit impulse response".  Fangyi said all models would
have to be rewritten.  Walter said that wasn't the intent.  He said the language
needed to be clarified, and "models that use the crosstalk columns..." should
be changed to "models that use the crosstalk columns to determine the model's
equalization..."  Walter said he was not aware of any such models already
existing.  He said they are coming, but they will be new models and can be
written to meet the requirement that they ignore unit impulse crosstalk terms.
Walter said no legacy models should need to be rewritten.

Fangyi said it should be stated very clearly that there is a new requirement
being placed on AMI models.  We need to make it clear that 7.1 or later models
will be required to recognize a unit impulse response passed in as a fictitious
crosstalk term.  Bob said the version (e.g., 7.1) we are talking about here is
the AMI_Version parameter value, not the IBIS version.  Bob asked if this would
be a requirement for all 7.1 models, or only those that specify the new
Tx_Impulse_Input parameter.  Walter said only models that use crosstalk
information to set up their equalization settings need to worry about a unit
impulse response in their crosstalk columns.  Walter said if such a model were
to advertise itself as a 7.1 model, then it should follow this rule and ignore
unit impulse response crosstalk columns when setting up its equalization.

Walter added some new language describing how the model should ignore a unit
impulse response if it is using crosstalk terms to set up its equalization.
Bob said this should go in 10.2.3, and perhaps in two places.  Bob suggested
that in the definition of the new Tx_Impulse_Input, the descriptions of its
allowed values should refer to the flow descriptions in 10.2.3 and also refer
to the AMI_Init function signature definitions.  This way all the related
elements would be tied together in one place.

Fangyi again asked if we really need this new requirement.  He said the EDA tool
could pass in a unit impulse response that was multiplied by a small epsilon.
This would keep it from affecting a model's equalization setup decisions.
Walter agreed that this was a clever trick, and he said we could add text
suggesting EDA tools could use it when dealing with 7.0 and earlier models.
However, he asked, "how small is small?" and do we want to make that trick the
standard approach for new models too?  Fangyi agreed that the new requirement
would be more formal and said the epsilon approach was really just tricking the
model.  Walter said the justification for adding this new requirement on model
makers (if their model optimizes based on crosstalk) is that we have a flow
deficiency for Init Only models.  He said we're usually worried about this issue
with Tx models, and if the model maker just made a Dual model then the EDA tool
wouldn't be forced to use tricks to avoid deconvolution.  So, if a model is Init
only and optimizes based on crosstalk, then it should ignore unit impulse
response crosstalk terms that the EDA tool might insert to avoid the need for
deconvolution.

Bob said we should make sure any branches in the flow descriptions capture the
fact that if the new parameter does not exist, or its value is "IBIS7.0", then
we are using the 7.0 flow (the corrected version - flow 1).  Ambrish asked if a
7.1 model without the new parameter would see any change in the regular single-
channel flow.  Walter said the regular flow is identical.  Walter added another
item in the 10.2.3 section to address Ambrish's question:
   3. Note: when this parameter is not present, or its value is "IBIS7.0", then
      the normal non-repeater flow is unchanged, except that the impulse matrix
      may now contain a column with a unit impulse response.

Bob noted that column "aggressors + 2" is mentioned but never really defined.

Walter said he would draft another version incorporating these changes.  Randy
and Arpad asked about the timing and whether there was any chance of this being
resolved by Friday.  Ambrish said we're changing the flow descriptions so we
have to review if very carefully.  Walter agreed and said there's no chance of
meeting the deadline to vote on it at the next Open Forum meeting.

- Curtis: Motion to adjourn.
- Walter: Second.
- Arpad: Thank you all for joining.

AR: Walter to create a BIRD211.2_draft2 with today's changes and send it to ATM.

-------------
Next meeting: 04 May 2021 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives
